@echo off
chcp 65001 >nul
title RISC-V 操作系統項目 Git 同步工具

echo.
echo ========================================
echo    RISC-V 操作系統項目 Git 同步工具
echo ========================================
echo.

if "%1"=="" goto menu
if "%1"=="status" goto status
if "%1"=="push" goto push
if "%1"=="pull" goto pull
if "%1"=="init" goto init
if "%1"=="help" goto help
goto menu

:menu
echo 請選擇操作：
echo.
echo 1. 檢查狀態 (status)
echo 2. 推送更改 (push)
echo 3. 拉取更改 (pull)
echo 4. 初始化倉庫 (init)
echo 5. 顯示幫助 (help)
echo 6. 退出
echo.
set /p choice=請輸入選項 (1-6): 

if "%choice%"=="1" goto status
if "%choice%"=="2" goto push
if "%choice%"=="3" goto pull
if "%choice%"=="4" goto init
if "%choice%"=="5" goto help
if "%choice%"=="6" goto end
goto menu

:status
echo.
echo === 檢查 Git 狀態 ===
echo.
git status
echo.
echo === 遠程倉庫信息 ===
git remote -v
echo.
echo === 最近提交 ===
git log --oneline -5
goto end

:push
echo.
echo === 推送到遠程倉庫 ===
echo.
echo 正在添加文件...
git add .
echo.
echo 正在提交更改...
git commit -m "更新 RISC-V 操作系統項目 - %date% %time%"
echo.
echo 正在推送到遠程倉庫...
git push --set-upstream origin master
if %errorlevel% equ 0 (
    echo.
    echo ✅ 推送成功！
) else (
    echo.
    echo ❌ 推送失敗，請檢查網路連接和遠程倉庫配置
)
goto end

:pull
echo.
echo === 從遠程倉庫拉取 ===
echo.
git pull origin master
if %errorlevel% equ 0 (
    echo.
    echo ✅ 拉取成功！
) else (
    echo.
    echo ❌ 拉取失敗，請檢查網路連接和遠程倉庫配置
)
goto end

:init
echo.
echo === 初始化 Git 倉庫 ===
echo.
if exist ".git" (
    echo ✅ Git 倉庫已存在
) else (
    echo 正在初始化 Git 倉庫...
    git init
    echo ✅ Git 倉庫初始化完成
)

echo.
echo 正在配置遠程倉庫...
git remote add origin https://gitee.com/Antelope693/whu-cs-os.git
echo ✅ 遠程倉庫配置完成

echo.
echo 正在創建 .gitignore 文件...
(
echo # 編譯產物
echo *.o
echo *.elf
echo *.bin
echo *.img
echo *.iso
echo.
echo # 調試文件
echo *.dSYM/
echo *.su
echo *.idb
echo *.pdb
echo.
echo # 日誌文件
echo *.log
echo.
echo # 臨時文件
echo *.tmp
echo *.temp
echo *~
echo.
echo # IDE 文件
echo .vscode/
echo .idea/
echo *.swp
echo *.swo
echo.
echo # 系統文件
echo .DS_Store
echo Thumbs.db
echo.
echo # 備份文件
echo *.bak
echo *.backup
) > .gitignore
echo ✅ .gitignore 文件創建完成

echo.
echo 正在設置分支...
git branch -M main
echo ✅ 分支設置完成

echo.
echo ✅ 初始化完成！
goto end

:help
echo.
echo === 使用說明 ===
echo.
echo 基本用法：
echo   git-sync.bat [操作]
echo.
echo 可用操作：
echo   status  - 檢查 Git 狀態
echo   push    - 推送到遠程倉庫
echo   pull    - 從遠程倉庫拉取
echo   init    - 初始化 Git 倉庫
echo   help    - 顯示此幫助信息
echo.
echo 示例：
echo   git-sync.bat          # 顯示菜單
echo   git-sync.bat status   # 檢查狀態
echo   git-sync.bat push     # 推送更改
echo   git-sync.bat pull     # 拉取更改
echo   git-sync.bat init     # 初始化倉庫
echo.
goto end

:end
echo.
echo 按任意鍵退出...
pause >nul
